package service

import (
	"base/global"
	"base/model"
	"fmt"
)

// AddTodoService ...
func AddTodoService(todo *model.Todo) error {
	return global.DB.Create(todo).Error
}

// UpdateTodoService ...
func UpdateTodoService(todo *model.Todo, id uint) error {
	return global.DB.Debug().Model(todo).Where("id = ?", id).Updates(map[string]interface{}{
		"title":  todo.Title,
		"status": todo.Status,
	}).Error
}

// DeleteTodoService ...
func DeleteTodoService(id int) error {
	return global.DB.Delete(&model.Todo{}, id).Error
}

// GetTodoService ...
func GetTodoService(id int) (*model.Todo, error) {
	var todo model.Todo
	err := global.DB.Debug().Where("id = ?", id).First(&todo).Error
	if err != nil {
		fmt.Println("获取详细失败", err)
		return nil, err
	}
	return &todo, nil
}

// ListTodoService ...
func ListTodoService() ([]*model.Todo, error) {
	var todos []*model.Todo
	err := global.DB.Debug().Find(&todos).Error
	if err != nil {
		fmt.Println("获取列表失败", err)
		return nil, err
	}
	return todos, nil
}
